package com.zhuang.collection.set;

import java.util.HashSet;
import java.util.Set;

public class HashSet01 {
	public static void main(String[] args) {
		Set<Object> set = new HashSet<>();

		// 1. 在执行 add 方法后，会返回一个 boolean 值
		// 2. 如果添加成功，返回 true, 否则返回 false
		// 3. 可以通过 remove 指定删除哪个对象
		// 4. 元素不能重复
		System.out.println(set.add("john"));// T
		System.out.println(set.add("lucy"));// T
		System.out.println(set.add("john"));// F
		System.out.println(set.add("jack"));// T
		System.out.println(set.add("Rose"));// T
		set.remove("john");
		System.out.println("set=" + set);// 3 个

		set.add("lucy");// 添加成功
		set.add("lucy");// 加入不了
		set.add(new Dog("tom"));// OK
		set.add(new Dog("tom"));// Ok
		System.out.println("set=" + set);
	}

	static class Dog { // 定义了 Dog 类
		private String name;

		public Dog(String name) {
			this.name = name;
		}

		@Override
		public String toString() {
			return "Dog{" + "name='" + name + '\'' + '}';
		}
	}
}
